Intensity-modulated light pattern for active stereo

ABSTRACT

The subject disclosure is directed towards projecting light in a pattern in which the pattern contains components (e.g., spots) having different intensities. The pattern may be based upon a grid of initial points associated with first intensities and points between the initial points with second intensities, and so on. The pattern may be rotated relative to cameras that capture the pattern, with captured images used active depth sensing based upon stereo matching of dots in stereo images.

CROSS-REFERENCE TO RELATED APPLICATION

The present application claims priority to U.S. provisional patent application Ser. No. 61/812,232, filed Apr. 15, 2013.

BACKGROUND

In active depth sensing, such as used by active stereo systems, a projector projects patterns of light such as infrared (IR) dots or lines to illuminate a scene being sensed. The projected patterns are then captured by a camera/sensor (two or more in stereo systems), with the image (or images) processed to compute a depth map or the like.

For example, in stereo systems, stereo cameras capture two images from different viewpoints. Then, for example, one way to perform depth estimation with a stereo pair of images is to find correspondences of local patches between the images, e.g., to correlate each projected and sensed local dot pattern in the left image with a counterpart local dot pattern in the right image. Once matched, the projected patterns within the images may be correlated with one another, and disparities between one or more features of the correlated dots used to estimate (e.g., triangulate) a depth to that particular dot pair.

IR lasers have been used to produce such patterns. In order to allow the stereo system to work over a wide range of depths, more powerful lasers (around 1W or more) are needed. At such power levels, multi-mode lasers are more cost-effective. However, using multi-mode lasers results in the design pattern looking blurrier at closer distances. This is problematic in active stereo depth sensing, because correlating the correct pairs of left and right pairs of dots is subject to more errors when the dots are blurred.

SUMMARY

This Summary is provided to introduce a selection of representative concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used in any way that would limit the scope of the claimed subject matter.

Briefly, one or more of various aspects of the subject matter described herein are directed towards an intensity-modulated light pattern for active sensing. A projector including a laser and a diffractive optical component projects a light pattern towards a scene. The diffractive optical component is configured to output the light pattern as a plurality of sets of sub-patterns, with each set corresponding to a different range of intensities.

One or more aspects are directed towards generating a grid comprising a first set of points, associating each point in the first set with an intensity value that is within a first intensity range, adding a second set of points between subsets of points of the first set of points and associating each point in the second set with an intensity value that is within a second intensity range. This subdivision process may be repeated if necessary. A diffractive optical component may be encoded based upon the first set of points and the second set of points. Another variant is to generate a random set of points with approximately uniform density throughout, with a random subset of them having a specified range of intensities, and the rest having a different range of intensities.

One or more aspects are directed towards projecting light through a diffractive optical component to project a pattern comprising a first set of spots corresponding to a the first intensity range, and a second set of spots corresponding to a second intensity range. The positions of the spots in the first set are based upon an initial grid layout, and the positions of spots in the second set of spots are based upon the positions of the first set of spots. The first set of spots and the second set of spots are sensed as left and right stereo camera images. The images are processed to correlate spots in the left image with spots in the right image, in which scanlines of the images are not aligned with the initial grid layout.

Other advantages may become apparent from the following detailed description when taken in conjunction with the drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention is illustrated by way of example and not limited in the accompanying figures in which like reference numerals indicate similar elements and in which:

FIG. 1 is a block diagram representing example components that may be used to project and capture a light pattern modulated with different intensities, according to one or more example implementations.

FIG. 2 is a representation of an example of projecting dots having different intensities into a scene, according to one or more example implementations.

FIGS. 3A and 3B are representations of a pattern may be designed based upon a grid, and subdivision of points aligned via the grid, to facilitate having points with different intensities, according to one or more example implementations.

FIG. 4 is a representation of further subdivision of points having different intensities, according to one or more example implementations.

FIG. 5 is a flow diagram representing example steps in laying out points for of different intensities, such as for encoding corresponding data into a diffractive optical element, according to one or more example implementations.

FIG. 6 is a block diagram representing example components of a device that projects a diffraction pattern of light having different intensities, according to one example implementation.

FIGS. 7 and 8 are representations of how non-rotation versus rotation of a projected pattern affects scanning of captured images that include the projected pattern, according to one or more example implementations.

FIG. 9 is a representation of how dots of different intensities may be captured in a part of an image, and moved over time, according to one or more example implementations.

FIG. 10 is a block diagram representing an exemplary non-limiting computing system or operating environment, in the form of a gaming system, into which one or more aspects of various embodiments described herein can be implemented.

DETAILED DESCRIPTION

Various aspects of the technology described herein are generally directed towards having a light pattern projected into a scene, in which the light pattern is configured to provide for enhanced pattern matching, including at different depths to illuminated objects. In one aspect, a light pattern includes intermixed points of light (e.g., spots such as dots) of different intensities. The technology also leverages the depth-dependent appearance of the pattern by having the pattern include points that are semi-randomly distributed.

As will be understood, the peak intensities of neighboring points are different. This results in local changes in intensity independent of the scene depth, to allow stereo matching to function properly.

It should be understood that any of the examples herein are non-limiting. For example, the projected light pattern may use spots, generally exemplified herein as dots, but the dots may be of any shape. As another, the dots are exemplified as arranged according to a triangular grid, however this is only one example, and other arrangements (e.g., a hexagonal grid) may be implemented. Rotation angles of the patterns (described below), different ranges or values of intensity peaks (e.g., for large, medium and small intensities) from those described herein may be used, and so on. As such, the present invention is not limited to any particular embodiments, aspects, concepts, structures, functionalities or examples described herein. Rather, any of the embodiments, aspects, concepts, structures, functionalities or examples described herein are non-limiting, and the present invention may be used various ways that provide benefits and advantages in active depth sensing and image processing in general.

FIG. 1 shows an example system in which stereo cameras 102 and 103 of an image capturing system or subsystem 104 capture images synchronized in time (e.g., the cameras are “genlocked”). In one implementation the cameras capture infrared (IR) images, as IR does not affect the visible appearance of the scene (which is highly advantageous, such as in video conferencing and object modeling applications). As can be readily appreciated, in some scenarios such as studio environments, more than two IR depth-sensing cameras may be present. Further, one or more other cameras may be present in a given system, such as RBG cameras, and such other cameras may be used to help correlate dot pairs in different stereo images, for example.

In FIG. 1, a projector 106 is shown that projects an IR pattern onto a scene, such as a pattern of spots (e.g., dots) or a line pattern, although other spot shapes and/or pattern types may be used. For purposes of brevity, dots are generally described hereinafter. By illuminating the scene with a relatively large number of distributed infrared dots, the cameras 102 and 103 capture texture data as part of the infrared image data. As described herein, to facilitate more accurate dot matching between left and right images, the dots in the pattern are arranged with different intensities, and also the pattern may be rotated relative to the cameras. The pattern with intensity modulation may be designed (e.g., encoded) into a diffractive optical component (a diffractive optical element or combination of elements) that disperse laser light into the scene, e.g., as a dot pattern.

FIG. 2 exemplifies this projection concept. The projector 106, represented as a circle in between the stereo cameras 102 and 103, projects a dot pattern onto a scene 222. The dot pattern is modulated with different intensities, and the dot pattern may be rotated (e.g., fifteen degrees) relative to the cameras' orientation. The cameras 102 and 103 capture the dots as they reflect off of object surfaces in the scene 222 and (possibly) the background. In general, one or more features of the captured dots are indicative of the distance to the reflective surface. Note that FIG. 2 is not intended to be to scale, nor convey any sizes, distance, dot distribution pattern, dot density and so on. However, it is understood that different intensities exist in the dot pattern, and that the dot pattern may be rotated relative to the cameras.

Note that the placement of the projector 106 may be outside the cameras (e.g., FIG. 1), or in between the cameras (FIG. 2) or at another location, such as above or below one or both of the cameras. The examples herein are in no way limiting of where the cameras and/or projector are located relative to one another, and similarly, the cameras may be positioned at different positions relative to each other.

In one implementation the example image capturing system or subsystem 104 includes a controller 108 that via a camera interface 110 controls the operation of the cameras 102 and 103. The exemplified controller via a projector interface 112 also controls the operation of the projector 106. For example, the cameras 102 and 103 are synchronized (genlocked) to capture stereo images at the same time, such as by a controller signal (or different signals for each camera). The projector 106 may be turned on or off, pulsed, and otherwise have one or more parameters controllably varied, for example.

The images 116 captured by the cameras 102 and 103 are provided to an image processing system or subsystem 118. In some implementations, the image processing system 118 and image capturing system or subsystem 104, or parts thereof, may be combined into a single device. For example a home entertainment device may include all of the components shown in FIG. 1 (as well as others not shown). In other implementations, parts (or all) of the image capturing system or subsystem 104, such as the cameras and projector, may be a separate device that couples to a gaming console, personal computer, mobile device, dedicated processing device and/or the like. Indeed, a gaming console is exemplified in FIG. 10 as one environment that may be used for processing images into depth data.

The image processing system or subsystem 118 includes a processor 120 and a memory 122 containing one or more image processing algorithms 124. One or more depth maps may be obtained via the algorithms 124 such as by extracting matching features (such as dots and/or lines). For example, as is known, such as described in U.S. published patent application no. 20130100256, hereby incorporated by reference, different dots or other projected elements have different features when captured, including intensity (brightness), depending on the distance from the projector to the reflective surfaces and/or the distance from the camera to the reflective surfaces. As is also known, the dots in different images taken at the same time (e.g., with genlocked stereo cameras) may be correlated with one another, such as by matching small (e.g., RGB) patches between RGB color images of the same scene captured at the same instant. Thus, with captured images, known algorithms can determine individual depth-related features (depth maps) by matching projected light components (e.g., dots) in each image, using disparities of certain features between matched dots to determine depths. This is one way in which a depth map may be obtained via stereo image processing.

Also shown in FIG. 1 is an interface 132 to the image processing system or subsystem 118, such as for connecting a keyboard, game controller, display, pointing device microphone for speech commands and/or the like as appropriate for a user to interact with an application or the like that uses the depth map.

FIGS. 3A and 3B, along with FIG. 4 show the concept of subdivision, in which dots of larger intensity (larger dots with an “X” shaped cross therein) are arranged in a triangular grid layout 330 (FIG. 3A). In FIG. 3B, each triangle of the larger intensity dots is subdivided by triangles of lesser intensity dots (circles), providing the pattern 332. In FIG. 4, each of those sub-triangle sub-patterns is further subdivided by even lesser intensity dots (smaller-sized circles relative to those in FIG. 3B). Thus, FIG. 4 represents a triangular pattern 440 of higher intensity dots, medium intensity dots, and lower intensity dots. The dot sizes relative to the distribution pattern and each other are only intended to illustrate distribution of dots of differing relative intensities or intensity ranges, and are not intended to convey any particular intensity levels or ranges.

FIG. 5 summarizes subdivision, beginning at step 502 where in this example a triangular grid of a specified between-vertex distance is generated, e.g., comprising regular triangles or substantially regular triangles (or other polygons). The intensity peaks are set to a high value; however rather than being the same intensity value for each point, the high values may be randomly set to be within a high range (step 504), e.g., between 200-255 (with 255 being the maximum intensity). Note that as used herein, an intensity “range” includes a range with as little as one single fixed intensity value, e.g., a range may be from 200 to 200.

Step 506 represents adding points between the previously generated points, e.g., as smaller sets of triangles (a “subdivision”) such as shown in FIG. 3B. Step 508 randomly sets the intensity peaks of these points to be within a lower range, e.g., between 100-125. Note that these example intensity ranges do not overlap one another, but it is feasible to have different ranges overlap to an extent; if weighted random techniques may be used to bias most values in overlapping ranges away from one another.

Step 510 evaluates whether subdivision has been completed to the lowest desired level, which is configurable. Thus, by returning to step 506, another subdivision of points may be optionally added, (such as exemplified in FIG. 4), with an even lower range of intensities, and so on, until the desired pattern and sets of intensities/intensity ranges is reached. The result is a projection pattern that contains sub-patterns, in this example different sets of triangular sub-patterns, such as a larger intensity sub-pattern set and a smaller-intensity sub-pattern set (FIG. 3B), or small, medium and large intensity sub-pattern sets (FIG. 4) and so on. In general, the sets/sub-patterns are interleaved via subdivision.

Note that once the intensity-modulated pattern is designed, such as via the example steps of FIG. 5, the diffractive optical element or elements may be manufactured in known ways to output that pattern. Various eye safe diffractive optical element arrangements are described in the aforementioned provisional patent application Ser. No. 61/812,232. However, as another (optional) step, step 512 represents pseudo-randomly rearranging (e.g., slightly “jittering”) at least some of the points into modified positions, such as to further reduce repetition intervals. Typically this repositioning of a point is small relative to its respective triangle (or other grid pattern), whereby the regular polygon or substantially regular polygon is now modified to be only generally/approximately regular.

FIG. 6 is one such example configuration in which a diffractive optical component 660 (e.g., diffractive optical one or more elements) is configured to output an intensity-modulated illumination pattern. The component 660 may be built into or coupled to device 662, such as a built into or part of a home entertainment device. A laser 664 (e.g., multimode) provides the light source. Stereo cameras 666A and 666B capture the reflection from an illuminated object (e.g., person 668) and use the captured images as desired; note that a single camera may be used in a given implementation.

As represented n FIG. 6, the diffractive optical component 660 disperses the laser light into a large number of spots based upon the pattern designed as described herein, such as on the order of 100,000 dots. Some of the pattern is represented in FIG. 1 by the solid lines coming from the element and by the dots on the object/person 668 and image plane 670. Note that as with any of the figures herein, neither FIG. 6 nor its components are intended to be to scale or convey any particular distance, distribution and/or the like.

FIGS. 7 and 8 illustrate another aspect, namely rotation of the modulated patterns. In FIG. 7, camera captured dots of part of a left pattern 770L are shown alongside parts of a right pattern 770R. In general, dot A correlates with dot C, and is supposed to be matched. However, when scanning a line of the (e.g., right) image of pixels from left-to-right to match patterns, there is significant repetition, whereby dot B (or possibly dot D) may be erroneously matched with dot A

In FIG. 8, camera-captured dots of part of a rotated left pattern 880L are shown alongside parts of a rotated right pattern 880R. As can be seen, when scanning a line of pixels to match dot A, for example, neither dot B nor dot D will be encountered. In this way, the rotation (e.g., by fifteen degrees in this example, although other rotational angles may be used) helps to provide a larger repetition interval along the scanline (x-direction).

Rotation and intensity distribution is generally shown in the partial image representation 990 of FIG. 9, where the dots are illustrated by concentric circles, and (some relative) intensity by the sizes thereof. The pixels are represented by the square blocks behind the dots. Note that in FIG. 9 the different diameters of the circles only suggest changes in intensity; the size of the circles and the grid squares are not intended to convey any particular scale, resolution, or the like, nor any particular intensity value or relative intensity values (other than within at least two different ranges). Further, the density of the dots and/or their sizes or distribution are not intended to represent any actual density and/or distribution.

As can be seen, there is provided a light pattern modulated with different intensities. The pattern may be based upon a grid, and projected such that the cameras that capture the light pattern are not aligned with the grid on which the pattern was based. The intensity-modulated pattern provides for more robust stereo matching/depth sensing.

Example Operating Environment

It can be readily appreciated that the above-described implementation and its alternatives may be implemented on any suitable computing device, including a gaming system, personal computer, tablet, DVR, set-top box, smartphone and/or the like. Combinations of such devices are also feasible when multiple such devices are linked together. For purposes of description, a gaming (including media) system is described as one exemplary operating environment hereinafter.

FIG. 10 is a functional block diagram of an example gaming and media system 1000 and shows functional components in more detail. Console 1001 has a central processing unit (CPU) 1002, and a memory controller 1003 that facilitates processor access to various types of memory, including a flash Read Only Memory (ROM) 1004, a Random Access Memory (RAM) 1006, a hard disk drive 1008, and portable media drive 1009. In one implementation, the CPU 1002 includes a level 1 cache 1010, and a level 2 cache 1012 to temporarily store data and hence reduce the number of memory access cycles made to the hard drive, thereby improving processing speed and throughput.

The CPU 1002, the memory controller 1003, and various memory devices are interconnected via one or more buses (not shown). The details of the bus that is used in this implementation are not particularly relevant to understanding the subject matter of interest being discussed herein. However, it will be understood that such a bus may include one or more of serial and parallel buses, a memory bus, a peripheral bus, and a processor or local bus, using any of a variety of bus architectures. By way of example, such architectures can include an Industry Standard Architecture (ISA) bus, a Micro Channel Architecture (MCA) bus, an Enhanced ISA (EISA) bus, a Video Electronics Standards Association (VESA) local bus, and a Peripheral Component Interconnects (PCI) bus also known as a Mezzanine bus.

In one implementation, the CPU 1002, the memory controller 1003, the ROM 1004, and the RAM 1006 are integrated onto a common module 1014. In this implementation, the ROM 1004 is configured as a flash ROM that is connected to the memory controller 1003 via a Peripheral Component Interconnect (PCI) bus or the like and a ROM bus or the like (neither of which are shown). The RAM 1006 may be configured as multiple Double Data Rate Synchronous Dynamic RAM (DDR SDRAM) modules that are independently controlled by the memory controller 1003 via separate buses (not shown). The hard disk drive 1008 and the portable media drive 1009 are shown connected to the memory controller 1003 via the PCI bus and an AT Attachment (ATA) bus 1016. However, in other implementations, dedicated data bus structures of different types can also be applied in the alternative.

A three-dimensional graphics processing unit 1020 and a video encoder 1022 form a video processing pipeline for high speed and high resolution (e.g., High Definition) graphics processing. Data are carried from the graphics processing unit 1020 to the video encoder 1022 via a digital video bus (not shown). An audio processing unit 1024 and an audio codec (coder/decoder) 1026 form a corresponding audio processing pipeline for multi-channel audio processing of various digital audio formats. Audio data are carried between the audio processing unit 1024 and the audio codec 1026 via a communication link (not shown). The video and audio processing pipelines output data to an A/V (audio/video) port 1028 for transmission to a television or other display/speakers. In the illustrated implementation, the video and audio processing components 1020, 1022, 1024, 1026 and 1028 are mounted on the module 1014.

FIG. 10 shows the module 1014 including a USB host controller 1030 and a network interface (NW I/F) 1032, which may include wired and/or wireless components. The USB host controller 1030 is shown in communication with the CPU 1002 and the memory controller 1003 via a bus (e.g., PCI bus) and serves as host for peripheral controllers 1034. The network interface 1032 provides access to a network (e.g., Internet, home network, etc.) and may be any of a wide variety of various wire or wireless interface components including an Ethernet card or interface module, a modem, a Bluetooth module, a cable modem, and the like.

In the example implementation depicted in FIG. 10, the console 1001 includes a controller support subassembly 1040, for supporting four game controllers 1041(1)-1041(4). The controller support subassembly 1040 includes any hardware and software components needed to support wired and/or wireless operation with an external control device, such as for example, a media and game controller. A front panel I/O subassembly 1042 supports the multiple functionalities of a power button 1043, an eject button 1044, as well as any other buttons and any LEDs (light emitting diodes) or other indicators exposed on the outer surface of the console 1001. The subassemblies 1040 and 1042 are in communication with the module 1014 via one or more cable assemblies 1046 or the like. In other implementations, the console 1001 can include additional controller subassemblies. The illustrated implementation also shows an optical I/O interface 1048 that is configured to send and receive signals (e.g., from a remote control 1049) that can be communicated to the module 1014.

Memory units (MUs) 1050(1) and 1050(2) are illustrated as being connectable to MU ports “A” 1052(1) and “B” 1052(2), respectively. Each MU 1050 offers additional storage on which games, game parameters, and other data may be stored. In some implementations, the other data can include one or more of a digital game component, an executable gaming application, an instruction set for expanding a gaming application, and a media file. When inserted into the console 1001, each MU 1050 can be accessed by the memory controller 1003.

A system power supply module 1054 provides power to the components of the gaming system 1000. A fan 1056 cools the circuitry within the console 1001.

An application 1060 comprising machine instructions is typically stored on the hard disk drive 1008. When the console 1001 is powered on, various portions of the application 1060 are loaded into the RAM 1006, and/or the caches 1010 and 1012, for execution on the CPU 1002. In general, the application 1060 can include one or more program modules for performing various display functions, such as controlling dialog screens for presentation on a display (e.g., high definition monitor), controlling transactions based on user inputs and controlling data transmission and reception between the console 1001 and externally connected devices.

The gaming system 1000 may be operated as a standalone system by connecting the system to high definition monitor, a television, a video projector, or other display device. In this standalone mode, the gaming system 1000 enables one or more players to play games, or enjoy digital media, e.g., by watching movies, or listening to music. However, with the integration of broadband connectivity made available through the network interface 1032, gaming system 1000 may further be operated as a participating component in a larger network gaming community or system.

CONCLUSION

While the invention is susceptible to various modifications and alternative constructions, certain illustrated embodiments thereof are shown in the drawings and have been described above in detail. It should be understood, however, that there is no intention to limit the invention to the specific forms disclosed, but on the contrary, the intention is to cover all modifications, alternative constructions, and equivalents falling within the spirit and scope of the invention. 

What is claimed is:
 1. A system comprising, a projector that projects a light pattern towards a scene, the projector including a laser and a diffractive optical component, the diffractive optical component configured to output the light pattern as a plurality of sets of sub-patterns, each set corresponding to a different range of intensities.
 2. The system of claim 1 wherein the sets comprise differently-sized sub-patterns, including large-sized sub-patterns and at least one set comprising smaller-sized sub-patterns.
 3. The system of claim 2 wherein the sets of differently-sized sub-patterns are interleaved via subdivision.
 4. The system of claim 1 wherein at least some of the sub-patterns comprise triangles corresponding to points.
 5. The system of claim 1 wherein one or more of the sub-patterns comprise points corresponding to positions that form an approximate regular polygon, based upon repositioning points of a substantially regular polygon with additional random repositioning of at least some points thereof.
 6. The system of claim 1 wherein at least one of the points that form a sub-pattern is randomly or pseudo-randomly assigned in intensity value within a range of intensities associated with that sub-pattern.
 7. The system of claim 1 further comprising a pair of stereo cameras that capture the projected pattern in stereo images, and further comprising an image processing component configured to process stereo images into depth maps.
 8. The system of claim 7 wherein the light pattern comprises infrared light for sensing by infrared stereo cameras, or visible light for sensing by color stereo cameras.
 9. The system of claim 7 wherein the stereo cameras and the projector are incorporated into a single device.
 10. The system of claim 7 wherein the diffractive optical component is configured to project a rotated pattern relative to an orientation of the stereo cameras.
 11. A method comprising, generating a grid comprising a first set of points, associating each point in the first set with an intensity value that is within a first intensity range, adding a second set of points between subsets of points of the first set of points, associating each point in the second set with an intensity value that is within a second intensity range, and encoding a diffractive optical component based upon the first set of points and the second set of points.
 12. The method of claim 11 further comprising, projecting light through the diffractive optical component to project a pattern comprising a first set of spots each within the first intensity range, and the second set of spots each within the second intensity range.
 13. The method of claim 11 wherein projecting the light comprises projecting the pattern rotated relative to orientation of a camera.
 14. The method of claim 11 further comprising, adding a third set of points between subsets of points of the second set of points, associating each point in the third set with an intensity value that is within a third intensity range, and wherein encoding the diffractive optical component further comprises encoding the diffractive optical based upon the third set of points.
 15. The method of claim 11 wherein the grid is triangular, and wherein generating the gird comprises arranging the first set of points into triangles based upon the grid, and wherein adding the second set of points comprises subdividing at least some of the triangles.
 16. The method of claim 11 wherein associating each point in the first set with an intensity value that is within a first intensity range comprises randomly or pseudo-randomly selecting an intensity value within the first range for at least some of the points in the first set.
 17. The method of claim 11 wherein associating each point in the second set with an intensity value that is within a second intensity range comprises randomly or pseudo-randomly selecting an intensity value within the second range for at least some of the points in the second set.
 18. The method of claim 11 further comprising, randomly or pseudo-randomly positioning at least some of the points in the first set relative to the grid.
 19. The method of claim 11 further comprising, randomly or pseudo-randomly randomly positioning at least some of the points in the second set relative to their positions between subsets of points of the first set of points.
 20. A method comprising, projecting light through a diffractive optical component to project a pattern comprising a first set of spots corresponding to a the first intensity range, and a second set of spots corresponding to a second intensity range, wherein the positions of the spots of the first set are based upon an initial grid layout and the positions of the spots of the second set of spots are based upon the positions of the spots of the first set, sensing the first set of spots and the second set of spots as left and right stereo camera images, and processing the images to correlate spots in the left image with spots in the right image, in which scanlines of the images are not aligned with the initial grid layout. 